<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>packChk.exe</title>
<title>CMSIS-Pack: packChk.exe</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="cmsis.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="printComponentTabs.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 46px;">
  <td id="projectlogo"><img alt="Logo" src="CMSIS_Logo_Final.png"/></td>
  <td style="padding-left: 0.5em;">
   <div id="projectname">CMSIS-Pack
   &#160;<span id="projectnumber">Version 1.6.0</span>
   </div>
   <div id="projectbrief">Delivery Mechanism for Software Packs</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<div id="CMSISnav" class="tabs1">
    <ul class="tablist">
      <script type="text/javascript">
		<!--
		writeComponentTabs.call(this);
		//-->
      </script>
	  </ul>
</div>
<!-- Generated by Doxygen 1.8.6 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li class="current"><a href="pages.html"><span>Usage&#160;and&#160;Description</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('packChk.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Pages</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="headertitle">
<div class="title">packChk.exe </div>  </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><p><b>packChk.exe</b> is a utility for validation of a Software Pack. It operates on the unzipped content of the Software Pack and is located in the directory <b>.\CMSIS\Utilities</b> of the <b>ARM::CMSIS</b> Pack.</p>
<p><b>packChk.exe</b> performs the following operations:</p>
<ul>
<li>Reads the content of the specified *.pdsc file. The path to this *.pdsc file is considered as root directory of the Software Pack.</li>
<li>Verifies the existence of all files in the Software Pack that are referenced in the *.pdsc file.</li>
<li>Checks for presence and correctness of mandatory elements such as &lt;vendor&gt;, &lt;version&gt;, etc.</li>
<li>Optionally, reads other PDSC files to resolve dependencies on &lt;apis&gt;, &lt;boards&gt;, and &lt;conditions&gt;.</li>
<li>Optionally, checks all System View Description files (*.SVD) referenced in the *.pdsc file using SVDConv.exe. Refer to <a href="../../SVD/html/svd_validate_file_pg.html">SVD File Validation</a> for details.</li>
<li>Optionally, verifies the element &lt;url&gt;.</li>
<li>Optionally, creates the standardized name of the Software Pack file for further processing in scripts.</li>
<li>Sets the exit status reflecting the validation result to: <br/>
 0 : no errors detected <br/>
 1 : errors during validation detected</li>
</ul>
<h2>Operation </h2>
<p><b>packChk.exe</b> is invoked from the command line:<br/>
</p>
<div class="fragment"><div class="line">packChk.exe &lt;pdsc_file&gt; &lt;options&gt;</div>
</div><!-- fragment --><p><br/>
</p>
<table  class="cmtable" summary="packChk Args">
<tr>
<th>&lt;options&gt; </th><th>Short Name </th><th>Description  </th></tr>
<tr>
<td>-i &lt;file&gt; </td><td>Check component dependencies </td><td>Reference PDSC file(s) used to resolve component dependencies in conditions.  </td></tr>
<tr>
<td>-n &lt;file&gt; </td><td>Write Pack file name </td><td>Write a standardized name for the Software Pack to the specified ASCII file.  </td></tr>
<tr>
<td>-s </td><td>Verify SVD files </td><td>Each SVD file referenced in the *.pdsc file is <a href="../../SVD/html/svd_validate_file_pg.html"><b>validated</b></a> with <b>SVDConv.exe</b>. With this option set, <b>SVDConv.exe</b> is invoked from the same directory as <b>packChk.exe</b>.   </td></tr>
<tr>
<td>-u &lt;url&gt; </td><td>Pack Server URL </td><td>Verifies that the specified URL matches the &lt;url&gt; element in the *.pdsc file.  </td></tr>
<tr>
<td>-v </td><td>Verbose </td><td>Prints extra process information.  </td></tr>
<tr>
<td>-x&#160;&lt;msg-list&gt; </td><td>Suppress </td><td>Suppress all listed validation messages. You can separate the values with blanks to create a list or repeat the option. Ranges are not allowed. Suppressing validation messages does not affect error and warning counters. For a list of messages refer to <a href="#packchk_valid_msgs"><b>Validation Messages</b></a>.   </td></tr>
<tr>
<td>-h/-? </td><td>Help </td><td>Show help.  </td></tr>
</table>
<p><b>Examples</b></p>
<p>Run <b>packChk.exe</b> on the package description file called <b>MyVendor.MyPack.pdsc</b>. <b>packChk.exe</b> verifies the file against the Software Pack that is located in the same directory. </p>
<pre class="fragment">packChk.exe MyVendor.MyPack.pdsc
</pre><p>Run <b>packChk.exe</b> on the package description file called <b>MyVendor.MyPack.pdsc</b> in the current directory and try to resolve conditions using the ARM.CMSIS.pdsc file based in another directory. </p>
<pre class="fragment">packChk.exe MyVendor.MyPack.pdsc -i ..\..\PACK\ARM\CMSIS\ARM.CMSIS.pdsc
</pre><p>Run <b>packChk.exe</b> on the package description file called <b>MyVendor.MVCM3.pdsc</b>, verify SVD files, verify the URL to the Pack Server, and generate a ASCII text file with the standardized name of the Software Pack. </p>
<pre class="fragment">packChk.exe "MyVendor.MVCM3.pdsc" -s -u "http://www.myvendor.com/pack" -n packname.txt
</pre><p>Run <b>packChk.exe</b> on the package description file called <b>MyVendor.MVCM3.pdsc</b>. Suppress validation messages M304 and M331. </p>
<pre class="fragment">packChk.exe MyVendor.MVCM3.pdsc -x M304 M331           // messages as a list
packChk.exe MyVendor.MVCM3.pdsc -x M304 -x M331        // option repeated
</pre><h1><a class="anchor" id="packChkMessages"></a>
Error and Warning Messages</h1>
<p>The following table shows the errors and warnings issued by packChk.</p>
<h2>Internal Errors </h2>
<p>If you encounter one of the following errors, please send a problem report via email to <a href="#" onclick="location.href='mai'+'lto:'+'cms'+'is'+'@ar'+'m.'+'com'; return false;">cmsis<span style="display: none;">.nosp@m.</span>@arm<span style="display: none;">.nosp@m.</span>.com</a>.</p>
<table  class="cmtable" summary="packChk Internal Msgs">
<tr>
<th>Message Number </th><th>Type </th><th>Description </th><th>Action  </th></tr>
<tr>
<td>M100 </td><td>ERROR </td><td>GetModuleHandle failed </td><td>Call support.  </td></tr>
<tr>
<td>M101 </td><td>ERROR </td><td>Unknown error! </td><td>Call support.   </td></tr>
<tr>
<td>M102 </td><td>ERROR </td><td>MFC initialization failed </td><td>Call support.  </td></tr>
<tr>
<td>M103 </td><td>ERROR </td><td>Internal Error: <em>'REF'</em>  </td><td>Call support and submit the error message.  </td></tr>
<tr>
<td>M104 - M107 </td><td>N.A. </td><td><em>not in use</em> </td><td>&mdash;  </td></tr>
<tr>
<td>M108 </td><td>ERROR </td><td>Reading PDSC File failed! </td><td>Verify file and folder permissions. Verify whether the file is corrupt or in another folder. Repeat the process. If this error persists, call support.  </td></tr>
<tr>
<td>M109 </td><td>ERROR </td><td>Constructing Model failed! </td><td>Building Model based on the PDSC information failed. Repeat the process. If this error persists, call support.  </td></tr>
<tr>
<td>M110 </td><td>ERROR </td><td>Verifying Model failed </td><td>Model based verification of the PDCS information failed. Repeat the process. If this error persists, call support.  </td></tr>
</table>
<h2>Invocation Errors </h2>
<table  class="cmtable" summary="packChk Invocation Msgs">
<tr>
<th>Message Number </th><th>Type </th><th>Description </th><th>Action  </th></tr>
<tr>
<td>M200 </td><td>ERROR </td><td>Invalid arguments! </td><td>At least one argument is wrong. Correct the argument.  </td></tr>
<tr>
<td>M201 </td><td>ERROR </td><td>Too many arguments! </td><td>The list of arguments is too long. Verify if you have used one argument twice.  </td></tr>
<tr>
<td>M202 </td><td>ERROR </td><td>No PDSC input file specified </td><td>Correct the command line. <b>packChk.exe</b> expects a *.pdsc file name as input.  </td></tr>
<tr>
<td>M203 </td><td>ERROR </td><td>Error reading PDSC file <em>'PATH/FILENAME'!</em>  </td><td>Verify the PDSC file for consistency.   </td></tr>
<tr>
<td>M204 </td><td>ERROR </td><td>File not found: <em>'PATH'</em>  </td><td>The specified PDSC file could not be found in the <em>PATH</em> displayed in the message. Correct the path or the filename.  </td></tr>
<tr>
<td>M205 </td><td>ERROR </td><td>Cannot create Pack Name file <em>'PATH'</em>  </td><td>Check the disk space or your permissions. Correct the path name.  </td></tr>
<tr>
<td>M206 </td><td>ERROR </td><td>Multiple PDSC files found in package: <em>'FILES'</em>  </td><td>Only one PDSC file is allowed in a package. Remove unnecessary PDSC files. The message lists all *.pdsc files found.  </td></tr>
<tr>
<td>M207 </td><td>ERROR </td><td>PDSC file name mismatch! <br/>
 Expected: <em>'PDSC1.pdsc'</em> <br/>
 Actual : <em>'PDSC2.pdsc'</em>  </td><td>The PDSC file expected has not been found. Rename or exchange the PDSC file.  </td></tr>
<tr>
<td>M208 </td><td>ERROR </td><td>Error calling SVDConv.exe: <em>'PATH'</em>  </td><td>SVDConv.exe was not found. Copy the executable into the directory of packChk.exe or enter the path where SVDConv.exe is located. Default is <span class="XML-Token">CMSIS\Utilities</span>.  </td></tr>
<tr>
<td>M209 </td><td>ERROR </td><td>Unknown Option: <em>'OPT'</em>  </td><td>The command line option entered is not known or invalid.  </td></tr>
<tr>
<td>M210 </td><td>ERROR </td><td>Only one input file to be checked is allowed. </td><td>You can only check one PDSC file at a time.  </td></tr>
</table>
<p><a class="anchor" id="packchk_valid_msgs"></a></p>
<h2>Validation Messages </h2>
<table  class="cmtable" summary="packChk Validation Msgs">
<tr>
<th>Message Number </th><th>Type </th><th>Description </th><th>Action  </th></tr>
<tr>
<td>M300 </td><td>ERROR </td><td>The following files are listed in PDSC but not part of the package: <br/>
 <em>'PATH'</em>: <br/>
 <em>'FILES'</em>  </td><td>The files listed should be part of the package. However, these files could not be added to the package. Verify whether the files exist. Verify the file permissions.  </td></tr>
<tr>
<td>M301 </td><td>ERROR </td><td>Checking Pack URL of PDSC file failed: <br/>
 Expected URL : <em>'URL1'</em> <br/>
 Package URL : <em>'URL2'</em>  </td><td>The URL entered in the package does not match the value entered for comparison. Change the URL in the package. Check for possible misspellings of <em>URL1</em>.  </td></tr>
<tr>
<td>M302 </td><td>ERROR</td><td>No vendor tag found in the PDSC file! Add the &lt;vendor&gt; tag and provide the vendor name. For example: <code>&lt;vendor&gt;Keil&lt;/vendor&gt;</code>. </td><td>No vendor entered in the PDSC file. Enter the tag <span class="XML-Token">&lt;vendor&gt;</span> and add the vendor name. Refer to <a class="el" href="pdsc_package_pg.html#element_package">/package</a>.  </td></tr>
<tr>
<td>M303 </td><td>ERROR</td><td>No package name found in the PDSC file! Add the &lt;name&gt; tag and provide the package name. For example: <code>&lt;name&gt;MCU-Name_DFP&lt;/name&gt;</code>. </td><td>No package name found in the PDSC file. Enter the tag <span class="XML-Token">&lt;name&gt;</span> and add the package name. For example <span class="XML-Token">&lt;name&gt;MCU-Name_DFP&lt;/name&gt;</span>. The package name is mandatory to create the package. Refer to <a class="el" href="pdsc_package_pg.html#element_package">/package</a>.  </td></tr>
<tr>
<td>M304 </td><td>ERROR </td><td>No package URL (&lt;url&gt;-tag and/or value) found in PDSC file! </td><td>Add the tag <span class="XML-Token">&lt;url&gt;</span> and enter a URL in the PDSC file. The URL points to the web page from which users can download the package. Refer to <a class="el" href="pdsc_package_pg.html#element_package">/package</a>.  </td></tr>
<tr>
<td>M305 </td><td>ERROR</td><td>No package version ("version"-attribute in a &lt;release&gt;-tag) found in PDSC file! </td><td>No version or release information found in the PDSC file. Add the attribute <span class="XML-Token">version</span> to the tag <span class="XML-Token">&lt;release&gt;</span> and enter the version number. Refer to <a class="el" href="element_releases.html#element_release">/package/releases/release</a>.  </td></tr>
<tr>
<td>M306 </td><td>ERROR</td><td>No package description found in the PDSC file. Add the &lt;description&gt;-tag and provide a descriptive text. </td><td>No package description was found in the PDSC file. Enter the tag <span class="XML-Token">&lt;description&gt;</span> and briefly describe the package content. Refer to <a class="el" href="pdsc_package_pg.html#element_package">/package</a>.  </td></tr>
<tr>
<td>M307 </td><td>ERROR </td><td>Checking SVD file <em>'PATH'</em> failed! </td><td>Verify the consistency of the *.SVD file. Refer to <a href="../../SVD/html/svd_validate_file_pg.html">SVD File Validation</a>.  </td></tr>
<tr>
<td>M308 </td><td>ERROR </td><td>SVD file <em>'PATH'</em> not found. Add the SVD file or correct the PDSC entry. </td><td>The *.SVD file was not found in the path specified in the message. Add the SVD file or correct the entry in the *.pdsc file.  </td></tr>
<tr>
<td>M309 </td><td>ERROR </td><td>Cannot read file information: <em>'PATH'</em>. </td><td>Access to the file specified failed. Verify permissions and spelling.  </td></tr>
<tr>
<td>M310 </td><td>ERROR </td><td>Filename mismatch (case sensitive):<br/>
 PDSC name : <em>'PDSC_FILENAME'</em> <br/>
 Filename : <em>'SYSTEM'</em>  </td><td>Filenames are case sensitive. Correct spelling.  </td></tr>
<tr>
<td>M323 </td><td>ERROR </td><td>File/Path not found: <em>'PATH'</em>  </td><td>The file or path entered in the PDSC file could not be found. Verify the path information.  </td></tr>
<tr>
<td>M324 </td><td>ERROR </td><td>Board referenced in Example <em>'EXAMPLE'</em> is undefined: <em>'VENDOR'</em> : <em>'BOARD'</em>  </td><td>The board referenced in the example application could not be found. Define the board (<a class="el" href="pdsc_boards_pg.html#element_board">/package/boards/board</a>) or correct the reference information (<a class="el" href="pdsc_examples_pg.html#element_example_board">/package/examples/example/board</a>).  </td></tr>
<tr>
<td>M325 </td><td>ERROR </td><td>Board <em>'NAME'</em> redefined, already defined in Line <em>'LINE'</em>: <em>'PATH'</em>  </td><td>This board has been defined already in the line <em>'LINE'</em> of the file <em>'PATH'</em>. Verify and remove one of the board definitions.  </td></tr>
<tr>
<td>M326 </td><td>ERROR </td><td>Path is not conformant: <em>'PATH'</em>: Absolute Paths or Drive references are not allowed, use Paths relative to PDSC file. </td><td>The path needs to be relative to the PDSC file so that a dependency of a certain file system does not occur.  </td></tr>
<tr>
<td>M327 </td><td>ERROR </td><td>Path is not conformant: <em>'PATH'</em>: Backslashes are not recommended, use forward slashes. </td><td>Paths to files should adhere to the POSIX standard using forward slashes (/).  </td></tr>
<tr>
<td>M328 </td><td>ERROR </td><td>Version not set for Release Information <em>'DESCR'</em>  </td><td>The release defined through the description <em>'DESCR'</em> requires the attribute <span class="XML-Token">&lt;version&gt;</span>. Refer to <a class="el" href="element_releases.html#element_release">/package/releases/release</a>.  </td></tr>
<tr>
<td>M329 </td><td>ERROR </td><td>Description not set for Release Information <em>'VER'</em>  </td><td>The release defined through the version <em>'VER'</em> needs a description. Refer to <a class="el" href="element_releases.html#element_release">/package/releases/release</a>.  </td></tr>
<tr>
<td>M330 </td><td>ERROR </td><td>Condition redefined: <em>'COND'</em>, already defined in Line <em>'LINE'</em>  </td><td>The condition has been defined already in a previous line. Correct the condition name, or remove the duplicate.  </td></tr>
<tr>
<td>M331 </td><td>WARNING </td><td>Condition unused: <em>'COND'</em>  </td><td>The condition has been defined but not used further. Remove the condition or add condition rules. Refer to <a class="el" href="pdsc_conditions_pg.html#element_condition">/package/conditions/condition</a>.  </td></tr>
<tr>
<td>M332 </td><td>ERROR </td><td>Condition undefined: <em>'COND'</em>  </td><td>A condition has been used but not defined. Correct the name of the condition or define the missing condition. Refer to <a class="el" href="pdsc_conditions_pg.html#element_condition">/package/conditions/condition</a>.  </td></tr>
<tr>
<td>M333 </td><td>WARNING </td><td>Component has no condition: Cclass= <em>'CCLASS'</em>, Cgroup= <em>'CGROUP'</em>, <em>Csub='CSUB'</em>, <em>Cversion=</em> 'CVER' </td><td>The component defined has no condition. If the component has restrictions, then add a condition to the component definition. Refer to <a class="el" href="pdsc_components_pg.html#element_component">/package/components/.../component</a>.  </td></tr>
<tr>
<td>M334 </td><td>WARNING </td><td>Config File has no version: <em>'PATH'</em>  </td><td>Add version information to the configuration file.  </td></tr>
<tr>
<td>M335 </td><td>WARNING </td><td>Component declared as 'Board Support' has no ref to a device: Cclass= <em>'CCLASS'</em>, Cgroup= <em>'CGROUP'</em>, Cversion= <em>'CVER'</em>  </td><td>A component defined as 'board support' needs a reference to a device. Add a device or correct the component definition. Refer to attribute <em>Cclass</em> of <a class="el" href="pdsc_components_pg.html#element_component">/package/components/.../component</a> and <a class="el" href="pdsc_boards_pg.html#element_board_mountedDevice">/package/boards/board/mountedDevice</a>.  </td></tr>
<tr>
<td>M336 </td><td>WARNING </td><td>No reference to a device or device not found: Cclass= <em>'CCLASS'</em>, Cgroup= <em>'CGROUP'</em>, Cversion= <em>'CVER'</em>  </td><td>Define the device <a class="el" href="pdsc_family_pg.html#element_device">/package/devices/family/../device</a> or correct the information about the device in the reference.  </td></tr>
<tr>
<td>M337 </td><td>WARNING </td><td>File with category <em>'CAT'</em> has wrong extension <em>'EXT'</em>: <em>'PATH'</em>  </td><td>The extension of the file does not match the file category. Verify the extension to match the category. Refer to <a class="el" href="pdsc_components_pg.html#element_file">/package/.../files/file</a>.  </td></tr>
<tr>
<td>M338 </td><td>WARNING </td><td>No releases found. </td><td>The PDSC file is missing release information. Add <span class="XML-Token">&lt;release&gt;</span> information to the file. Refer to <a class="el" href="element_releases.html">/package/releases element</a>.  </td></tr>
<tr>
<td>M339 </td><td>WARNING </td><td>Include Path <em>'PATH'</em> must not be a file! </td><td>The path specified contains a filename. Correct the path infomation and remove the filename.  </td></tr>
<tr>
<td>M340 </td><td>WARNING </td><td>Include Path <em>'PATH'</em> must end with '/' or '\' </td><td>Include paths must end with a slash or backslash. Verify and correct the path name.  </td></tr>
<tr>
<td>M341 </td><td>WARNING </td><td>File with <em>'COMP'</em> dependency must have extension <em>'EXT'</em> : <em>'PATH'</em>  </td><td>A file defining component dependencies must have the extension mentioned in the message. Verify the settings and correct the file extension.  </td></tr>
<tr>
<td>M342 </td><td>WARNING </td><td>File with attribute <em>'ATTR'</em> must not have category <em>'CAT'</em>: <em>'PATH'</em>  </td><td>A file with the attribute mentioned in the message must not have the category specified. Correct the attribute or the category.Refer to <a class="el" href="pdsc_components_pg.html#element_file">/package/.../files/file</a>.  </td></tr>
<tr>
<td>M343 </td><td>WARNING </td><td>File with attribute <em>'ATTR'</em> requires <em>'ATTR2'</em> attribute: <em>'PATH'</em>  </td><td>A file with the attribute <em>'ATTR'</em> requires another attribute <em>'ATTR2'</em>. Add the required attribute or correct attribute <em>'ATTR'</em>. Refer to <a class="el" href="pdsc_components_pg.html#element_file">/package/.../files/file</a>.  </td></tr>
<tr>
<td>M344 </td><td>WARNING </td><td>File shall have condition containing <em>'COND'</em>: <em>'PATH'</em>  </td><td>The file should have a condition. Define a condition in the file specified in the message.  </td></tr>
<tr>
<td>M345 </td><td>WARNING </td><td>URL not found : <em>'URL'</em>  </td><td>The specified URL could not be found. Correct the URL. Refer to <a class="el" href="pdsc_package_pg.html#element_package">/package</a>.  </td></tr>
<tr>
<td>M346 </td><td>WARNING </td><td>Referenced device(s) in <em>'BOARD'</em> not found: <em>'DEVICE'</em>  </td><td>The device or devices specified for the board could not be found. Verify and correct the device name or the board name. Refer to <a class="el" href="pdsc_boards_pg.html#element_board_mountedDevice">/package/boards/board/mountedDevice</a> and <a class="el" href="pdsc_boards_pg.html#element_board_compatibleDevice">/package/boards/board/compatibleDevice</a>.  </td></tr>
<tr>
<td>M347 </td><td>WARNING </td><td>Generator ID in Component Cclass= <em>'CCLASS'</em>, Cgroup= <em>'CGROUP'</em>, Cversion= <em>'CVER'</em> is undefined: <em>'GENID'</em>  </td><td>The generator ID used in the component could not be found. Verify and correct the generator ID (<a class="el" href="pdsc_components_pg.html#element_component">/package/components/.../component</a>), or define the generator ID (ref <a class="el" href="pdsc_generators_pg.html#element_generator">/package/generators/generator</a>).  </td></tr>
<tr>
<td>M348 </td><td>WARNING </td><td>Feature redefined for <em>'MCU'</em>, see Line <em>'REF_LINE'</em>: <em>'FEATURE'</em>  </td><td>This feature <em>'FEATURE'</em> has been defined already on the same level in line <em>'REF_LINE'</em>. The feature characteristics defined on line <em>'LINE'</em> overwrite those from <em>'REF_LINE'</em>. Correct the feature (<a class="el" href="pdsc_family_pg.html#element_feature">/package/devices/family/.../feature</a>).  </td></tr>
<tr>
<td>M349 </td><td>WARNING </td><td>Examples found, but no board description(s) found </td><td>Example projects have been found for a board that was not defined. Correct the entry for the examples (<a class="el" href="pdsc_examples_pg.html#element_example_board">/package/examples/example/board</a>) or define the board (<a class="el" href="pdsc_boards_pg.html#element_board">/package/boards/board</a>).  </td></tr>
<tr>
<td>M350 </td><td>WARNING </td><td>No <em>'COMP'</em> found for <em>'VENDOR'</em> : <em>'MCU'</em> (<em>'COMPILER'</em>) </td><td>The package (<a class="el" href="pdsc_package_pg.html#element_package">/package</a>) defines a Vendor-MCU combination for which no component was defined. Define a component (<a class="el" href="pdsc_components_pg.html#element_component">/package/components/.../component</a>) or verify the <em>'VENDOR'</em> - <em>'MCU'</em> settings.  </td></tr>
<tr>
<td>M351 </td><td>WARNING </td><td>Component <em>'COMP'</em> (<em>'COMPID'</em>) error for <em>'VENDOR'</em>: <em>'MCU'</em> ( <em>'COMPILER'</em>): <em>'MSG'</em>  </td><td>An unspecified error was found for the component. The message might give detailed information about the error.  </td></tr>
<tr>
<td>M352 </td><td>WARNING </td><td>No Directories/Files found for <em>'COMP'</em> (<em>'COMPID'</em>) for <em>'VENDOR'</em>: <em>'MCU'</em> (<em>'COMPILER'</em>) </td><td>No files or directories could be found for the defined component. Add the missing information. Refer to <a class="el" href="pdsc_components_pg.html#element_files">/package/.../files</a>.  </td></tr>
<tr>
<td>M353 </td><td>WARNING </td><td>No <em>'FILECAT'</em> File found for Component <em>'COMP'</em> (<em>'COMPID'</em>) for <em>'VENDOR'</em> : <em>'MCU'</em> (<em>'COMPILER'</em>) </td><td>No file with the mentioned file category was found for the component. Verify whether the file exists or correct the information. Refer to attribute <em>category</em> in <a class="el" href="pdsc_components_pg.html#element_file">/package/.../files/file</a>.  </td></tr>
<tr>
<td>M354 </td><td>WARNING </td><td>Multiple <em>'FILECAT'</em> Files found for Component <em>'COMP'</em> (<em>'COMPID'</em>) for <em>'VENDOR'</em> : <em>'MCU'</em> (<em>'COMPILER'</em>) </td><td>Multiple files with the mentioned file category were found for the specified component. Verify and rename the files, or correct the component settings (<a class="el" href="pdsc_components_pg.html#element_file">/package/.../files/file</a>).  </td></tr>
<tr>
<td>M355 </td><td>WARNING </td><td>No <em>'FILECAT'</em> Directory found for Component <em>'COMP'</em> (<em>'COMPID'</em>) for <em>'VENDOR'</em> : <em>'MCU'</em> (<em>'COMPILER'</em>) </td><td>The directory specified for the file category was not found. Correct the information in the component settings (<a class="el" href="pdsc_components_pg.html#element_component">/package/components/.../component</a>).  </td></tr>
<tr>
<td>M356 </td><td>WARNING </td><td>Multiple <em>'FILECAT'</em> Directories found for Component <em>'COMP'</em> (<em>'COMPID'</em>) for <em>'VENDOR'</em> : <em>'MCU'</em> (<em>'COMPILER'</em>) </td><td>Multiple directories were found for the same file category in the specified component. Remove obsolete information or correct the component settings.  </td></tr>
<tr>
<td>M358 </td><td>WARNING </td><td>Header File <em>'HFILE'</em> for <em>'CFILE'</em> missing for Component <em>'COMP'</em> (<em>'COMPID'</em>) for <em>'VENDOR'</em> : <em>'MCU'</em> (<em>'COMPILER'</em>) </td><td>The header file defined for the component could not be found. Verify the header file settings (<a class="el" href="pdsc_components_pg.html#element_file">/package/.../files/file</a>) or whether the file exists.  </td></tr>
<tr>
<td>M359 </td><td>WARNING </td><td>Family has no Device(s) or Subfamilies: <em>'FAMILY'</em>  </td><td>The device family has no devices or subfamilies. Add the missing information (<a class="el" href="pdsc_family_pg.html#element_family">/package/devices/family</a>).  </td></tr>
<tr>
<td>M360 </td><td>WARNING </td><td>Subfamily has no Device(s): <em>'SUBFAMILY'</em>  </td><td>Add the missing information. Refer to <a class="el" href="pdsc_family_pg.html#element_subFamily">/package/devices/family/subFamily</a>.  </td></tr>
<tr>
<td>M361 </td><td>WARNING </td><td>Generator ID in Taxonomy Cclass= <em>'CCLASS'</em>, Cgroup= <em>'CGROUP'</em> is undefined: <em>'GENID'</em>  </td><td>The generator ID used in the taxonomy is not defined. Define or correct the generator ID (<a class="el" href="element_taxonomy.html">/package/taxonomy element</a>).  </td></tr>
<tr>
<td>M362 </td><td>WARNING </td><td>Not all Component Dependencies for Cclass= <em>'CCLASS'</em>, Cgroup= <em>'CGROUP'</em>, Csub= <em>'CSUB'</em>, Cversion= <em>'CVER'</em>, Capiversion= <em>'APIVER'</em> can be resolved. <br/>
 RTE Model reports: <em>'MSG'</em>  </td><td>Some of the component dependencies could not be resolved. The message might contain additional information. Verify and correct component definition and dependency information. Refer to <a class="el" href="pdsc_components_pg.html#element_component">/package/components/.../component</a> attribute <em>condition</em>.  </td></tr>
<tr>
<td>M363 </td><td>WARNING </td><td>No API defined for Component Cclass= <em>'CCLASS'</em>, Cgroup= <em>'CGROUP'</em>, Csub= <em>'CSUB'</em>, Cversion= <em>'CVER'</em>, Capiversion= <em>'APIVER'</em>  </td><td>The package is missing the API information for the specified component. Refer to <a class="el" href="pdsc_apis_pg.html#element_apis">/package/apis</a>.   </td></tr>
<tr>
<td>M364 </td><td>WARNING </td><td>No Devices for Condition <em>'COND'</em> available. </td><td>The specified condition refers to a device that does not exist. Define the device (<a class="el" href="pdsc_family_pg.html#element_device">/package/devices/family/../device</a>) or correct the information for the condition (<a class="el" href="pdsc_conditions_pg.html#element_condition">/package/conditions/condition</a>).  </td></tr>
<tr>
<td>M365 </td><td>ERROR </td><td>Redefined DEVTYPE <em>'MCU'</em> found, see Line <em>LINE</em>  </td><td>Remove duplicate device/variant entries.  </td></tr>
<tr>
<td>M366 </td><td>ERROR </td><td>Redefined DEVTYPEEXIST as DEVTYPE <em>'MCU'</em> found, see Line <em>LINE</em>  </td><td>Device has been redefined as variant or vice versa. Remove duplicate device/variant entries.  </td></tr>
<tr>
<td>M368 </td><td>INFO </td><td>Redefined TYPEEXISTING as TYPE <em>'NAME'</em> found, see Line <em>LINE</em>  </td><td>Family/subfamily/device/variant has been redefined as different type.  </td></tr>
<tr>
<td>M369 </td><td>INFO </td><td>Feature is already defined for <em>'DEVICE'</em> and will be added, see Line <em>'LINE'</em>: <em>'FEATURE'</em>. </td><td>This feature <em>'FEATURE'</em> has been defined already on a higher level and as such it gets added to this <em>'DEVICE'</em>. This is usually done when some devices have a higher number of basic features. Correct the feature (<a class="el" href="pdsc_family_pg.html#element_feature">/package/devices/family/.../feature</a>) if this is a typo.  </td></tr>
<tr>
<td>M370 </td><td>WARNING </td><td>URL is not conformant: <em>'URL'</em>:<br/>
 Backslashes are not allowed in URL, use forward slashes. </td><td>Use standard URL notation using forward slashes (/).  </td></tr>
<tr>
<td>M371 </td><td>ERROR </td><td><em>'SECTION'</em> Feature for <em>'MCU'</em>: <em>'FEATURE'</em> unknown. </td><td>This feature <em>'FEATURE'</em> is unknwon to the specified <em>'MCU'</em>. Correct the feature (<a class="el" href="pdsc_family_pg.html#element_feature">/package/devices/family/.../feature</a>) if this is a typo.  </td></tr>
<tr>
<td>M372 </td><td>ERROR </td><td><em>'SECTION'</em> Feature for <em>'MCU'</em>: <em>'FEATURE'</em> misspelled, did you mean <em>'KNOWNFEATURE'</em> (<em>'DESCR'</em>). </td><td>This feature <em>'FEATURE'</em> resembles the feature <em>'KNOWNFEATURE'</em>. Correct the feature (<a class="el" href="pdsc_family_pg.html#element_feature">/package/devices/family/.../feature</a>) if this is a typo.  </td></tr>
<tr>
<td>M373 </td><td>ERROR </td><td>Unsupported Schema Version: <em>'VER'</em>. </td><td>The schema version is not supported. Verify the attribute <span class="XML-Token">schemaVersion</span> of the element <a class="el" href="pdsc_package_pg.html#element_package">/package</a>.  </td></tr>
<tr>
<td>M374 </td><td>ERROR </td><td>While checking Feature for <em>'MCU'</em>: Pname <em>'CPU'</em> not found. </td><td>The processor could not be found for the specified device. Refer to <a class="el" href="pdsc_family_pg.html#element_device">/package/devices/family/../device</a> and <a class="el" href="pdsc_family_pg.html#element_processor">/package/devices/family/.../processor</a>.  </td></tr>
<tr>
<td>M375 </td><td>ERROR </td><td><em>'path/pdsc_file'</em>: No &lt;mountedDevice&gt; for board <em>'BOARD'</em> found. </td><td>If a board element does not contain a &lt;mountedDevice&gt; element, then the examples for this board are not shown and example projects may not appear in the development tools. Refer to <a class="el" href="pdsc_boards_pg.html#element_board_mountedDevice">/package/boards/board/mountedDevice</a> of <a class="el" href="pdsc_boards_pg.html#element_boards">/package/boards</a>.  </td></tr>
<tr>
<td>M376 </td><td>ERROR </td><td>Schema Version not set! </td><td>Set a valid schema version in the PDSC file.  </td></tr>
<tr>
<td>M377 </td><td>INFO </td><td>File <em>'NAME'</em> <em>TYPE</em> must have <em>'attr="config"'</em>  </td><td>This file has to be configurable. Add the required attribute to achieve this.  </td></tr>
</table>
<h2>XML Reader Errors </h2>
<table  class="cmtable" summary="packChk XML Reader Msgs">
<tr>
<th>Message Number </th><th>Type </th><th>Description </th><th>Action  </th></tr>
<tr>
<td>M401 </td><td>INFO </td><td>Did you mean <em>'TAG'</em>? </td><td>Specify the tag to be used.  </td></tr>
<tr>
<td>M410 </td><td>WARNING </td><td>Lost xml file stream. </td><td>File corrupted.  </td></tr>
<tr>
<td>M411 </td><td>WARNING </td><td>Preamble for <em>'UTF'</em> should not be used, specify via '&lt;?xml'  </td><td>Specify encoding as UTF-8 only, without BOM.  </td></tr>
<tr>
<td>M412 </td><td>WARNING </td><td>Unsupported format or extra characters found before '&lt;?xml': <em>'TEXT'</em>  </td><td>Correct the XML file.  </td></tr>
<tr>
<td>M413 </td><td>WARNING </td><td>UTF Format not supported: <em>'UTF'</em>  </td><td>Select another UTF format.  </td></tr>
<tr>
<td>M414 </td><td>ERROR </td><td>Cannot decode XML special character: <em>'SPECIALCHAR'</em>.  </td><td>Correct the XML file.  </td></tr>
<tr>
<td>M415 </td><td>ERROR </td><td>'&lt;&ndash;' found, should this be a comment '&lt;!&ndash;' ? </td><td>Looks like a misspelled comment.  </td></tr>
<tr>
<td>M416 </td><td>ERROR </td><td>Begin Tag seems to end with a Single Tag. Is this a typo? </td><td>Correct the XML file.  </td></tr>
<tr>
<td>M417 </td><td>ERROR </td><td>Inconsistent XML Structure  </td><td>Correct the XML file.  </td></tr>
<tr>
<td>M418 </td><td>ERROR </td><td>XML Stack deeper than 30 Items! Giving up. </td><td>Reduce the nested nodes.  </td></tr>
<tr>
<td>M419 </td><td>ERROR </td><td>Begin Tag follows Text. Missing End Tag? </td><td>Correct the XML file.  </td></tr>
<tr>
<td>M420 </td><td>ERROR </td><td>Missing quotes (") in Attributes: <em>'ATTRLINE'</em>  </td><td>Correct the XML file. Enclose values in <span class="XML-Token">" "</span>.  </td></tr>
<tr>
<td>M421 </td><td>ERROR </td><td>XML Hierarchy Error: Missing End Tags. </td><td>Correct the XML file. Verify for enclosing or nested tags.  </td></tr>
<tr>
<td>M422 </td><td>ERROR </td><td>Error reading file <em>'NAME'</em>  </td><td>File could not be read.  </td></tr>
</table>
<h2>Model Errors </h2>
<table  class="cmtable" summary="packChk Model Msgs">
<tr>
<th>Message Number </th><th>Type </th><th>Description </th><th>Action  </th></tr>
<tr>
<td>M500 </td><td>TEXT </td><td>RTE Model reports: <em>MSG</em>  </td><td>Error while preparing data. See massage for more details.  </td></tr>
<tr>
<td>M502 </td><td>TEXT </td><td>RTE Model reports: #error <em>NUM:</em> <em>NAME</em> : <em>MSG</em>  </td><td>Additional software components required.  </td></tr>
<tr>
<td>M504 </td><td>TEXT </td><td>RTE Model reports: MISSING: &ndash; <em>SPACE</em> <em>NAME</em>  </td><td>Add the missing component.  </td></tr>
</table>
</div></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="createPackUtil.html">Utilities for Creating Packs</a></li>
    <li class="footer">Generated on Wed Jul 10 2019 15:21:00 for CMSIS-Pack Version 1.6.0 by Arm Ltd. All rights reserved.
	<!--
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6 
	-->
	</li>
  </ul>
</div>
</body>
</html>
